<template>
	<view class="login">
		<view class="content">
			<!-- 头部logo -->
			<view class="header">
				<image :src="logoImage"></image>
			</view>
			<!-- 主体表单 -->
			<view class="main">
				<wInput
					v-model="phoneData"
					type="text"
					maxlength="11"
					placeholder="用户名/电话"
					@input="phoneDataInput"
				></wInput>
				<wInput
					v-model="passData"
					type="password"
					maxlength="11"
					placeholder="密码"
					@input="passDataInput"
				></wInput>
				<view class="flex align-center">
					<wInput
						v-model="codeData"
						type="text"
						maxlength="5"
						placeholder="验证码"
						@input="codeDataInput"
						style="width: 70%;"
					></wInput>
					<view class="margin-left-sm" style="width: 30%;">
						<image :src="image" style="height: 130upx; border-radius: 10upx;"></image>
					</view>
				</view>
				
				
			</view>
			<wButton 
				class="wbutton"
				text="登 录"
				:rotate="isRotate" 
				@click="startLogin"
			></wButton>
			
			<!-- 其他登录 -->
			<!-- <view class="other_login cuIcon">
				<view class="login_icon">
					<view class="cuIcon-weixin" @tap="login_weixin"></view>
				</view>
				<view class="login_icon">
					<view class="cuIcon-weibo" @tap="login_weibo"></view>
				</view>
				<view class="login_icon">
					<view class="cuIcon-github" @tap="login_github"></view>
				</view>
			</view> -->
			
			<!-- 底部信息 -->
			<!-- <view class="footer">
				<navigator url="forget" open-type="navigate">找回密码</navigator>
				<text>|</text>
				<navigator url="register" open-type="navigate">注册账号</navigator>
			</view> -->
		</view>
	</view>
</template>

<script>
	var _this;
	import wInput from '@/components/watch-login/watch-input.vue' //input
	import wButton from '@/components/watch-login/watch-button.vue' //button
	import {getCaptcha,loginSys} from "@/api/user";		
	import { setToken, getUserInfo, setUserInfo } from '@/util/auth'
	export default {
		data() {
			return {
				//logo图片 base64
				logoImage: '',
				phoneData:'', //用户/电话
				passData:'', //密码
				codeData: "",
				image: "",
				codekey:"",
				isRotate: false, //是否加载旋转
			};
		},
		components:{
			wInput,
			wButton,
		},
		mounted() {
			_this= this;
			_this.isLogin();
			_this.refreshCode();
			
			
		},
		methods: {
			phoneDataInput(val){
				this.phoneData = val
			},
			passDataInput(val){
				this.passData = val
			},
			codeDataInput(val){
				this.codeData = val
			},
			refreshCode() {
				getCaptcha().then(res => {
					const data = res.data;
					_this.codekey = data.key;
					_this.image = data.image;
				})
			},
			isLogin(){
				//判断缓存中是否登录过，直接登录
				try {
					const value = getUserInfo();
					if (value) {
						//有登录信息
						uni.reLaunch({
							url:"/pages/index/index"
						})
					}
				} catch (e) {
					// error
					console.log(e);
				}
			},
		    startLogin(e){
				//登录
				if(this.isRotate){
					//判断是否加载中，避免重复点击请求
					return false;
				}
				if (this.phoneData.length == "") {
				     uni.showToast({
				        icon: 'none',
						position: 'bottom',
				        title: '用户名不能为空'
				    });
				    return;
				}
		        if (this.passData.length < 5) {
		            uni.showToast({
		                icon: 'none',
						position: 'bottom',
		                title: '密码不正确'
		            });
		            return;
		        }
				if (this.codeData.length < 5) {
				    uni.showToast({
				        icon: 'none',
						position: 'bottom',
				        title: '验证码错误'
				    });
				    return;
				}
				
				_this.isRotate=true
				// setTimeout(function(){
				// 	_this.isRotate=false
				// 	uni.reLaunch({
				// 		url:"/pages/index/index"
				// 	})
				// },3000)
				uni.showLoading({
					title: '登录中'
				});
				loginSys("000000", _this.phoneData, _this.passData, "account", 
				_this.codekey, _this.codeData).then(res => {
					console.log(res);
					var data = res.data;
					uni.hideLoading();
					setUserInfo(data);
					setToken(data.accessToken);
					uni.reLaunch({
						url:"/pages/index/index"
					})
				}).catch(err => {
					_this.isRotate=false
					uni.hideLoading();
				})
				// getLogin()
				// .then(res => {
				// 	//console.log(res)
				// 	//简单验证下登录（不安全）
				// 	if(_this.phoneData==res.data.username && _this.passData==res.data.password){
				// 		let userdata={
				// 			"username":res.data.username,
				// 			"nickname":res.data.nickname,
				// 			"accesstoken":res.data.accesstoken,
				// 		} //保存用户信息和accesstoken
				// 		_this.$store.dispatch("setUserData",userdata); //存入状态
				// 		try {
				// 			uni.setStorageSync('setUserData', userdata); //存入缓存
				// 		} catch (e) {
				// 			// error
				// 		}
				// 		uni.showToast({
				// 			icon: 'success',
				// 			position: 'bottom',
				// 			title: '登录成功'
				// 		});
				// 		uni.reLaunch({
				// 			url: '../../../pages/index',
				// 		});
				// 	}else{
				// 		_this.passData=""
				// 		uni.showToast({
				// 			icon: 'error',
				// 			position: 'bottom',
				// 			title: '账号或密码错误，账号admin密码admin'
				// 		});
				// 	}
				// 	uni.hideLoading();
				// }).catch(err => {
				// 	uni.hideLoading();
				// })
				
		    }
			,
			login_weixin() {
				//微信登录
				uni.showToast({
					icon: 'none',
					position: 'bottom',
					title: '...'
				});
			},
			login_weibo() {
				//微博登录
				uni.showToast({
					icon: 'none',
					position: 'bottom',
					title: '...'
				});
			},
			login_github() {
				//github登录
				uni.showToast({
					icon: 'none',
					position: 'bottom',
					title: '...'
				});
			}
		}
	}
</script>

<style>
	@import url("../../components/watch-login/css/icon.css");
	@import url("./css/main.css");
</style>
